package io.bdmc.modules.bss.mapper;

import io.bdmc.common.utils.MyPage;
import io.bdmc.modules.bss.entity.SmkAlarm;
import io.bdmc.modules.bss.model.AlarmParam;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author huang lu
 * @since 2019-01-21
 */
public interface SmkAlarmMapper extends BaseMapper<SmkAlarm> {
    MyPage<SmkAlarm> mySelectPage(@Param("myPage") MyPage<SmkAlarm> myPage,  @Param("ap") AlarmParam param);

    MyPage<SmkAlarm> wxSelectAlarm(@Param("myPage") MyPage<SmkAlarm> myPage,  @Param("ap") AlarmParam param);

    List<SmkAlarm> wxSelectAlarmByShopId(@Param("shopId") Integer shopId);

    Map<String,Object> wxAlarmSum(@Param("deptId") Long deptId);

    List<Map<String,Object>> homeAlarmYearChart(@Param("deptId") Long deptId);

    List<Map<String,Object>> homeDeptAlarmDescTwoMonth(@Param("deptId") Long deptId);    
    
    Map<String,Object> homeAlarmSum(@Param("deptId") Long deptId);

    Map<String,Object> homeAlarmSumByMonth(@Param("deptId") Long deptId,@Param("month") Integer month);

    List<Map<String,Object>> fireAlarmDeptSumByMonth(@Param("deptId") Long deptId,@Param("month") Integer month);


    List<Map<String,Object>> homePlaceAlarmSum(@Param("deptId") Long deptId);
    
    List<Map<String,Object>> homeFireAlarmReasonSum(@Param("deptId") Long deptId);
    
    List<Map<String,Object>> homeHiddenAlarmPlace(@Param("deptId") Long deptId);

    List<Map<String,Object>> homeDeptHiddenAlarmSum(@Param("deptId") Long deptId);

    List<Map<String,Object>> homeDeptRealtimeAlarm(@Param("deptId") Long deptId);

    List<Map<String,Object>> homeWeekHoursAlarm(@Param("deptId") Long deptId);

    List<Map<String,Object>> allPlaceAlarmSum(@Param("deptId") Long deptId);
    
    Map<String,Object> todayAlarmSum(@Param("deptId") Long deptId);

    List<Map<String,Object>> todayAlarmDetail(@Param("deptId") Long deptId);

    List<Map<String,Object>> yearAlarmReasonSum(@Param("deptId") Long deptId);

    List<Map<String, Object>> fireAlarmPlaceSumByMonth(@Param("deptId") Long deptId,@Param("month") Integer month);

    List<Map<String, Object>> fireAlarmReasonSumByMonth(@Param("deptId") Long deptId,@Param("month") Integer month);

	List<Map<String, Object>> fireHiddenAlarmDeptSumByMonth(@Param("deptId") Long deptId,@Param("month") Integer month);

	List<Map<String, Object>> fireHiddenAlarmPlaceSumByMonth(@Param("deptId") Long deptId,@Param("month") Integer month);
    
    
}
